package com.reder.practice.common.util;

import com.reder.practice.common.dto.ServerResponse;
import com.reder.practice.common.enums.state.VideoState;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * 操作文件工具
 *
 * @author Red
 * <p>Email: 1318944013@qq.com</p>
 * <p>created by 2019/09/23 15:23</p>
 */
@Slf4j
public class FileOptUtil {

    /**
     * 上传文件工具类
     *
     * @param file 文件
     * @return 上传结果
     */
    public static ServerResponse uploadFile(MultipartFile file, String dirPath) {
        // 文件判断
        if (file.isEmpty() || file.getSize() == 0) {
            return ServerResponse.response(VideoState.UPLOAD_FILE_EMPTY);
        }
        // 新建目录
        File dir = new File(dirPath);
        if (!dir.exists()) {
            dir.mkdirs();
        }
        // 构造目标文件
        File dest = new File(dirPath + file.getOriginalFilename());
        try {
            // 复制文件
            file.transferTo(dest);
            return ServerResponse.response(VideoState.SUCCESS);
        } catch (IOException e) {
            log.error(e.toString(), e);
        }
        return ServerResponse.response(VideoState.UPLOAD_FILE_ERROR);
    }


}
